package cn.edu.ncu.housinghub.service;

import cn.edu.ncu.housinghub.dto.request.maintenance.MaintenanceRequest;
import cn.edu.ncu.housinghub.vo.Result;

/**
 * 维修服务接口
 */
public interface MaintenanceService {
    
    /**
     * 租客申请维修
     * @param request 维修申请请求
     * @param token 用户token
     * @return 申请结果
     */
    Result applyMaintenance(MaintenanceRequest request, String token);
    
    /**
     * 租客查看维修申请列表
     * @param token 用户token
     * @return 维修申请列表
     */
    Result getTenantMaintenanceList(String token);
    
    /**
     * 房东查看维修申请列表
     * @param token 用户token
     * @return 维修申请列表
     */
    Result getLandlordMaintenanceList(String token);
    
    /**
     * 房东处理维修申请
     * @param maintenanceId 维修申请ID
     * @param status 处理状态
     * @param remark 备注
     * @param token 用户token
     * @return 处理结果
     */
    Result handleMaintenance(Long maintenanceId, Integer status, String remark, String token);
    
    /**
     * 获取维修申请详情
     * @param maintenanceId 维修申请ID
     * @param token 用户token
     * @return 维修申请详情
     */
    Result getMaintenanceDetail(Long maintenanceId, String token);
}
